package com.xb.loan.fund.service;


import com.xb.loan.fund.service.bean.CashCheckResultVO;
import com.xb.loan.log.exception.BizException;

import java.text.DecimalFormat;
import java.util.List;

/**
 * 资金对帐
 */
public interface IFundService {
	
	DecimalFormat df = new DecimalFormat("0.00");
	
	/**
	 * 对账通知
	 * @param address 对账文件地址
	 * @param accountPeriod 账期
	 * @param fundType 对账业务类型
	 * 2015年9月17日 by wenju.song
	 */
	void checkAccount(String address, String accountPeriod, int fundType) throws BizException;

	/**
	 * OSS通知业务平台重新对账
	 * @param checkResultId
	 * 2015年9月17日 by wenju.song
	 */
	void reCheckAccount(String checkResultId) throws BizException;
	
	/**
	 * 查询对账结果信息。
	 * @param startDate 起始日期 格式“yyyymmdd"
	 * @param endDate 截止日期 格式“yyyymmdd"
	 * @param pageNum 第N页
	 * @param numPerPage 每页条数
	 * @return
	 * @throws BizException
	 * 2015年9月21日 by wenju.song
	 */
	List<CashCheckResultVO> queryCashCheckResult(String startDate, String endDate, int pageNum, int numPerPage) throws BizException;
	
	/**
	 * 查询对账结果总数信息
	 * @param startDate 起始日期 格式“yyyymmdd"
	 * @param endDate 截止日期 格式“yyyymmdd"
	 * @return
	 * @throws BizException
	 * 2015年9月21日 by wenju.song
	 */
	int queryCashCheckResultCount(String startDate, String endDate) throws BizException;
	
	/**
	 * 检查用户充值提现是否接受
	 * @param accountId
	 * @return
	 * @throws BizException
	 */
	public boolean checkChargeEncashOver(String accountId) throws BizException;
	
}
